package com.hoshiicloud.suppplier.feign.hystrix;

import com.hoshiicloud.common.rpc.Response;
import com.hoshiicloud.suppplier.feign.VeriCenterFeignService;
import org.springframework.stereotype.Component;

import javax.validation.constraints.NotBlank;

/**
 * @author yangcheng
 * @version 1.0
 * @title: HystrixVeriCenterFeignFallback
 * @description: 验证中心微服务FeignClient熔断器
 * @date 2019/5/31 15:32
 * @mail maiboyc@163.com
 */
@Component
public class HystrixVeriCenterFeignFallback implements VeriCenterFeignService {

    /**
     * 发送短信验证码
     *
     * @param mobile    手机号码
     * @param code      验证码
     * @param expSecond 有效时间(单位:秒)
     * @return Response<SmsMsgResponse>
     */
    @Override
    public Response<String> sendCode(String mobile, String code, long expSecond) {
        return Response.failed("发送短信验证码失败");
    }

    /**
     * 校验验证码
     *
     * @param msgId 短信ID
     * @param code  验证码
     * @return Response
     */
    @Override
    public Response checkCode(String msgId, String code) {
        return Response.failed("校验验证码失败");
    }

    /**
     * 使用模板发送短信
     *
     * @param mobile   手机号码
     * @param tplValue 模板参数，json字符串格式
     * @param tplId    模板ID
     * @return Response
     */
    @Override
    public Response sendTplMsg(String mobile, String tplValue, String tplId) {
        return Response.failed("使用模板发送短信失败");
    }

    /**
     * 使用短信模板批量发送短信
     *
     * @param mobile   手机号码，多个手机号码以逗号隔开
     * @param tplValue 模板参数，json字符串格式
     * @param tplId    模板ID
     * @return Response
     */
    @Override
    public Response batchSendTplMsg(String mobile, String tplValue, String tplId) {
        return Response.failed("使用短信模板批量发送短信失败");
    }

    @Override
    public Response idCardOcrDiscern(@NotBlank String image, @NotBlank String side) {
        return Response.failed("身份证ocr识别失败");
    }
}
